package com.gpnu7_412.yanzhi.service;

import com.github.pagehelper.PageInfo;
import com.gpnu7_412.yanzhi.entity.CommentHanding;
import com.gpnu7_412.yanzhi.entity.DynamicHanding;
import com.gpnu7_412.yanzhi.entity.Handing;
import com.gpnu7_412.yanzhi.entity.UserHanding;

import java.util.List;

/**
 * @author HJJ
 */
public interface HandingService {
    /**
     * 获取所有用户举报信息
     * @param pageNum 查询页
     * @param pageSize 页面大小
     * @return 用户举报对象列表
     */
    PageInfo<UserHanding> getAllUserHanding(Integer pageNum, Integer pageSize);

    /**
     * 获取所有动态举报信息
     * @param pageNum 查询页
     * @param pageSize 页面大小
     * @return 动态举报对象列表
     */
    PageInfo<DynamicHanding> getAllDynamicHanding(Integer pageNum, Integer pageSize);

    /**
     * 获取所有评论举报信息
     * @param pageNum 查询页
     * @param pageSize 页面大小
     * @return 评论举报对象列表
     */
    PageInfo<CommentHanding> getAllCommentHanding(Integer pageNum, Integer pageSize);

    /**
     * 同意用户举报
     * @param handingId 用户举报ID
     * @return boolean
     */
    boolean agreeUserHanding(Integer handingId);

    /**
     * 同意动态举报
     * @param handingId 动态举报ID
     * @return boolean
     */
    boolean agreeDynamicHanding(Integer handingId);

    /**
     * 同意评论举报
     * @param handingId 评论举报ID
     * @return boolean
     */
    boolean agreeCommentHanding(Integer handingId);

    /**
     * 不同意用户举报
     * @param handingId 用户举报ID
     * @return boolean
     */
    boolean disagreeUserHanding(Integer handingId);

    /**
     * 不同意动态举报
     * @param handingId 动态举报ID
     * @return boolean
     */
    boolean disagreeDynamicHanding(Integer handingId);

    /**
     * 不同意评论举报
     * @param handingId 评论举报ID
     * @return boolean
     */
    boolean disagreeCommentHanding(Integer handingId);



    // 获取所有代办信息
    /**
     * @deprecated
     * @return
     */
    List<Handing> getHandingList();

    // 处理代办信息
    /**
     * @deprecated
     * @return
     */
    void handleHanding(String handle, Handing handing);
}
